*----------------------------------------------------------------- * GENERATED APPLICATION: CALLED BATCH *----------------------------------------------------------------- IDENTIFICATION DIVISION. PROGRAM-ID. MENUS1. AUTHOR. NONE INSTALLATION. NONE DATE WRITTEN. 01.06.2000. DATE COMPILED. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. DECIMAL-POINT IS COMMA. *----------------------------------------------------------------- * APPLICATION NAME : MENUS1 * APPLICATION TYPE : CALLEDBATCH * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 14:16:37 * GENERATION SYSTEM : MVSCICS * GENERATION DATE : 01.06.2000 * GENERATION TIME : 18:17:25 * GENERATION OPTIONS : * ANSISQL(NO) * CICSDBCS(NO) * COMMLVL(4) * CONTABLE(ELACNTUR) * DATA(31) * DEBUGTRACE(NO) * ENDCOMMAREA(NO) * FOLD(NO) * GENRET(NO) * INEDIT(ALL) * INITADDWS(YES) * INITRECD(YES) * LINEINFO(NO) * MATH(COBOL) * NUMOVFL(YES) * PREPFILE(YES) * PRINTDEST(EZEP) * SPZERO(NO) * SYNCDXFR(YES) * SYSCODES(YES) * TARGNLS(ENU) * TRACE() * TRANSID(DBSV,) * TWAOFF(0) * USERID(DGNM) * VALIDMIX(YES) * WORKDB(AUX) * * PROLOGUE: * *----------------------------------------------------------------- INPUT-OUTPUT SECTION. DATA DIVISION. WORKING-STORAGE SECTION. * RTS APPLICATION PROFILE BLOCK 01 EZEAPP-PROFILE SYNCHRONIZED. 05 FILLER PIC X(8) VALUE "ELARHAPP". 05 EZEAPP-APPL-NAME PIC X(8) VALUE "MENUS1". 05 EZEAPP-PGM-VERSION. 10 EZEAPP-GEN-DATE PIC X(8) VALUE "20000615". 10 EZEAPP-GEN-TIME PIC X(8) VALUE "18173362". 05 EZEAPP-RTS-PTR USAGE IS POINTER VALUE NULL. 05 EZEAPP-GEN-VERSION PIC X(16) VALUE "040301". 05 EZEAPP-COB-SYS PIC X(8) VALUE "MVSCICS". 05 EZEAPP-CALLER-PROFILE USAGE IS POINTER VALUE NULL. 05 EZEAPP-EZE-WORDS-PTR USAGE IS POINTER VALUE NULL. 05 EZEAPP-CURS-BLK-PTR USAGE IS POINTER VALUE NULL. 05 EZEAPP-DLI-SCAN-PTR USAGE IS POINTER VALUE NULL. 05 EZEAPP-MSP-IDENT-PTR USAGE IS POINTER VALUE NULL. 05 EZEAPP-SPA-LEN PIC S9(9) COMP VALUE +0. 05 EZEAPP-MAX-MSG-LEN PIC S9(9) COMP VALUE +0. 05 EZEAPP-WSR-PTR USAGE IS POINTER VALUE NULL. 05 EZEAPP-DB-IO-LEN PIC S9(9) COMP VALUE +65535. 05 EZEAPP-PARM-VAL-PTR USAGE IS POINTER VALUE NULL. 05 EZEAPP-1ST-MAP-PTR USAGE IS POINTER VALUE NULL. 05 EZEAPP-PSBNAME PIC X(8) VALUE SPACES. 05 EZEAPP-PCB-CNT PIC S9(4) COMP VALUE +0. 05 EZEAPP-MS-PCB-NO PIC S9(4) COMP VALUE ZERO. 05 EZEAPP-WK-PCB-NO PIC S9(4) COMP VALUE +0. 05 EZEAPP-ERRDEST PIC X(8) VALUE SPACES. 05 EZEAPP-LOG-ID PIC X(1) VALUE LOW-VALUES. 05 EZEAPP-MSP-PROGRAM PIC X(8) VALUE SPACES. 05 EZEAPP-MAP-GROUP PIC X(8) VALUE SPACES. 05 EZEAPP-HELP-MAP-GROUP PIC X(8) VALUE SPACES. 05 EZEAPP-HELP-PF-KEY PIC X(2) VALUE "01". 05 EZEAPP-BYPASS-PF-KEYS. 10 FILLER PIC X(10) VALUE SPACES. 05 FILLER REDEFINES EZEAPP-BYPASS-PF-KEYS. 10 EZEAPP-BYPASS-PF-KEY PIC X(2) OCCURS 5 TIMES. 05 EZEAPP-MSG-FILE-ID PIC X(4) VALUE SPACES. 05 EZEAPP-MS-DB-TYPE PIC X(1) VALUE "5". 05 EZEAPP-WK-DB-TYPE PIC X(1) VALUE "3". 05 EZEAPP-ADF-SPA PIC X(1) VALUE "N". 05 EZEAPP-APPL-TYPE PIC X(1) VALUE "4". 05 EZEAPP-EXECMODE PIC X(1) VALUE "1". 05 EZEAPP-SCAN-IO-PCB PIC X(1) VALUE "N". 05 EZEAPP-PF1-12-IS-PF13-24 PIC X(1) VALUE "Y". 05 EZEAPP-NLS-CODE PIC X(3) VALUE "ENU". 05 EZEAPP-CURRENCY-SYMBOL PIC X(1) VALUE "T". 05 EZEAPP-DECIMAL-SYMBOL PIC X(1) VALUE ",". 05 EZEAPP-NUM-SEP-SYMBOL PIC X(1) VALUE ".". 05 EZEAPP-MATH PIC X(5) VALUE "COBOL". 05 EZEAPP-SYSTEM-RTN-CODES PIC X(1) VALUE "Y". 05 EZEAPP-ENTRY-FUNCTION PIC X(2) VALUE LOW-VALUES. 05 EZEAPP-MS-RTB-ADDRESS USAGE IS POINTER VALUE NULL. 05 EZEAPP-TBK-STACK-SIZE PIC S9(9) COMP VALUE +0. 05 FILLER PIC X(8) VALUE LOW-VALUES. 05 EZEAPP-FAST-PATH-SW PIC X(1) VALUE "N". 05 EZEAPP-RECOVERY-SW PIC X(1) VALUE "N". 05 FILLER PIC X(1) VALUE LOW-VALUES. 05 EZEAPP-EZEDESTP-CHANGED PIC X(1) VALUE "N". 05 EZEAPP-LINK-TYPE PIC X(1) VALUE "4". 05 EZEAPP-PARM-FORM PIC X(1) VALUE "1". 05 EZEAPP-CURS-BLK-CNT PIC S9(4) COMP VALUE +2. 05 EZEAPP-TWA-LENGTH PIC S9(9) COMP VALUE +0. 05 EZEAPP-TWA-ADDRESS USAGE IS POINTER VALUE NULL. 05 EZEAPP-TWA-USER-LENGTH PIC S9(9) COMP VALUE 0. 05 EZEAPP-MAX-SSA-LENGTH PIC S9(9) COMP VALUE +0. 05 EZEAPP-LTB-ARRAY-ADDRESS USAGE IS POINTER VALUE NULL. 05 EZEAPP-ENTRY-COMMAREA-PTR USAGE IS POINTER VALUE NULLS. 05 FILLER PIC X(1) VALUE SPACES. 05 EZEAPP-NEED-ENDB PIC X(1) VALUE "N". 05 EZEAPP-BAD-RESP PIC X(1) VALUE "N". 05 FILLER PIC X(1) VALUE SPACES. 05 EZEAPP-SYNC-XFERS-SW PIC X(1) VALUE "N". 05 EZEAPP-SYNC-DXFRS-SW PIC X(1) VALUE "Y". 05 EZEAPP-STATIC-CALLS PIC X(1) VALUE "N". 05 EZEAPP-INEDIT-UNP-SW PIC X(1) VALUE "N". 05 EZEAPP-MAX-DB-IOAREA PIC S9(9) COMP VALUE +32767. 05 EZEAPP-LAST-MAPBUF-PTR USAGE IS POINTER VALUE NULL. 05 EZEAPP-FIRST-MAPBUF-PTR USAGE IS POINTER VALUE NULL. 05 EZEAPP-ROWS-USED-PTR USAGE IS POINTER VALUE NULL. 05 EZEAPP-MAPG-MOD-PTR USAGE IS POINTER VALUE NULL. 05 EZEAPP-HELPG-MOD-PTR USAGE IS POINTER VALUE NULL. 05 EZEAPP-CURRENT-RSCT-IDX PIC S9(9) COMP VALUE +0. 05 EZEAPP-CURRENT-HELP-MAP PIC X(8) VALUE SPACES. 05 EZEAPP-EZEDESTP. 10 EZEDESTP PIC X(65) VALUE SPACES. 05 EZEAPP-OPEN-NEW-DESTP PIC X(1) VALUE "N". 05 EZEAPP-EZEDESTP-DIFF PIC X(1) VALUE "N". 05 EZEAPP-USES-SQL PIC X(1) VALUE "Y". 05 EZEAPP-XFER-MAP PIC X(8) VALUE LOW-VALUES. 05 FILLER PIC X(21) VALUE LOW-VALUES. * RTS ERROR HANDLING REQUEST BLOCK COPY ELAEHERR. * RTS SQL ERROR HANDLING REQUEST BLOCK COPY ELA2HERR. 01 EZECICS-TMP-2BYTE-COMP PIC S9(4) COMP VALUE ZERO. * RTS MNEMONICS COPY ELARHMNE. * RTS REQUEST BLOCK COPY ELARHRRB. * DISPLAY SERVICES REQUEST BLOCK COPY ELARHFMR. * EZE SPECIAL FUNCTION WORDS 01 EZEWORDS. 05 EZEEZE-ID PIC X(8) VALUE "ELARHEZE". 05 EZEWORDS-LL PIC S9(9) COMP VALUE +334. 05 EZEWORDS-I. 10 EZEAID PIC X(2) VALUE SPACES. 88 EZEAID-ENTER VALUE " ". 88 EZEAID-CLEAR VALUE "CL". 88 EZEAID-PAKEY VALUE "P1" "P2" "P3". 88 EZEAID-PA1 VALUE "P1". 88 EZEAID-PA2 VALUE "P2". 88 EZEAID-PA3 VALUE "P3". 10 EZEAID-BYPASS-SW PIC X(1) VALUE SPACES. 88 EZEAID-BYPASS VALUE "Y". 88 EZEAID-NO-BYPASS VALUE "N". 10 EZEAID-HELP-SW PIC X(1) VALUE SPACES. 88 EZEAID-HELP VALUE "Y". 88 EZEAID-NO-HELP VALUE "N". 10 EZEAPP PIC X(8) VALUE SPACES. 10 EZECNVCM PIC 9(1) VALUE 0. 88 EZECNVCM-NOCOMMIT VALUE 0. 88 EZECNVCM-COMMIT VALUE 1. 10 EZEDLTRM REDEFINES EZECNVCM PIC 9(1). 10 FILLER PIC X(5) VALUE LOW-VALUES. 10 EZELOC PIC X(8) VALUE SPACES. 10 EZEDLCER PIC X(2) VALUE "00". 10 EZEDLCON PIC X(2) VALUE "00". 10 FILLER PIC 9(7) VALUE ZEROES. 10 EZEFEC PIC 9(1) VALUE ZEROES. 88 EZEFEC-TERMINATE VALUE 0. 88 EZEFEC-CONTINUE VALUE 1. 10 EZEDLERR PIC 9(1) VALUE ZEROES. 88 EZEDLERR-TERMINATE VALUE 0. 88 EZEDLERR-CONTINUE VALUE 1. 10 EZESQISL PIC 9(1) VALUE ZEROES. 10 EZEMNO PIC S9(4) COMP VALUE ZEROES. 88 EZEMNO-ERROR VALUES 1 THRU 9998 -9999 THRU -1. 88 EZEMNO-NO-ERROR VALUE 0. 88 EZEMNO-RE-CONVERSE VALUE 9999. 10 EZEMNO-MSG-FILE-SW PIC X(1) VALUE "N". 88 EZEMNO-APP-MSG-FILE VALUE "Y". 88 EZEMNO-SYS-MSG-FILE VALUE "N". 10 EZEMSG PIC X(78). 88 EZEMSG-SPACES VALUE SPACES. 10 EZEOVER PIC 9(1) VALUE ZEROES. 88 EZEOVER-DEFAULT VALUE 0. 88 EZEOVER-TERMINATE VALUE 1. 88 EZEOVER-CONTINUE VALUE 2. 10 EZEOVERS PIC 9(1) VALUE ZEROES. 10 EZERCODE PIC S9(9) COMP VALUE ZEROES. 10 EZERT2 PIC X(2) VALUE SPACES. 10 EZERT8. 15 EZERT8FS. 20 EZERT8FH PIC 9(1). 20 EZERT8FL PIC 9(1). 15 EZERT8VS. 20 EZERT8VR PIC 9(2). 20 EZERT8VF PIC 9(1). 20 EZERT8VB PIC 9(3). 10 EZERT8-CICS REDEFINES EZERT8. 15 EZERT8-RESP PIC 9(4). 15 EZERT8-RESP2 PIC 9(4). 10 EZESEGM PIC 9(1) VALUE 0. 88 EZESEGM-NONSEGMENT VALUE 0. 88 EZESEGM-SEGMENTED VALUE 1. 88 EZESEGM-DEFINED VALUE 0. 10 EZECONVT PIC X(8) VALUE SPACES. 10 EZETST PIC S9(4) COMP VALUE ZEROES. 10 EZETST2 PIC S9(4) COMP VALUE ZEROES. 10 EZESQLCA. 15 EZESQNAM PIC X(8) VALUE SPACES. 15 EZESQABC PIC S9(9) COMP VALUE ZEROES. 15 EZESQCOD PIC S9(9) COMP VALUE ZEROES. 15 EZESQRRL PIC S9(4) COMP VALUE ZEROES. 15 EZESQRRM. 20 EZESQRET PIC X OCCURS 70 TIMES INDEXED BY EZESQSUB. 15 EZESQRRP. 20 EZESQRPP PIC X(3) VALUE SPACES. 20 EZESQRVM PIC X(5) VALUE SPACES. 15 EZESQRD1 PIC S9(9) COMP VALUE ZEROES. 15 EZESQRD2 PIC S9(9) COMP VALUE ZEROES. 15 EZESQRD3 PIC S9(9) COMP VALUE ZEROES. 15 EZESQRD4 PIC S9(9) COMP VALUE ZEROES. 15 EZESQRD5 PIC S9(9) COMP VALUE ZEROES. 15 EZESQRD6 PIC S9(9) COMP VALUE ZEROES. 15 FILLER PIC X(1) VALUE SPACES. 15 EZESQWN1 PIC X(1) VALUE SPACES. 15 FILLER PIC X(4) VALUE SPACES. 15 EZESQWN6 PIC X(1) VALUE SPACES. 15 FILLER PIC X(9) VALUE SPACES. 10 EZEDL-PCB-INFO. 15 EZEDLDBD PIC X(8) VALUE SPACES. 15 EZEDLLEV PIC 9(2) VALUE ZEROES. 15 EZEDLSTC PIC X(2) VALUE SPACES. 15 EZEDLPRO PIC X(4) VALUE SPACES. 15 FILLER PIC X(4) VALUE SPACES. 15 EZEDLSEG PIC X(8) VALUE SPACES. 15 EZEDLKYL PIC S9(4) COMP VALUE 1. 15 EZEDLSSG PIC S9(4) COMP VALUE ZEROES. 05 EZEMNO-LOOKED-UP-SW PIC X(1) VALUE "N". 88 EZEMNO-LOOKED-UP VALUE "Y". 88 EZEMNO-NOT-LOOKED-UP VALUE "N". 05 EZESYS PIC X(8) VALUE "MVSCICS". 88 EZESYS-IMSVS VALUE "IMSVS". 88 EZESYS-IMSBMP VALUE "IMSBMP". 88 EZESYS-MVSBATCH VALUE "MVSBATCH". 88 EZESYS-MVSCICS VALUE "MVSCICS". 88 EZESYS-OS2CICS VALUE "OS2CICS". 88 EZESYS-TSO VALUE "TSO". 88 EZESYS-VSECICS VALUE "VSECICS". 88 EZESYS-VSEBATCH VALUE "VSEBATCH". 88 EZESYS-OS400 VALUE "OS400". 88 EZESYS-OS2GUI VALUE "OS2GUI". 88 EZESYS-OS2 VALUE "OS2". 88 EZESYS-AIX VALUE "AIX". 88 EZESYS-WINGUI VALUE "WINGUI". 88 EZESYS-AIXCICS VALUE "AIXCICS". 88 EZESYS-VMCMS VALUE "VMCMS". 88 EZESYS-VMBATCH VALUE "VMBATCH". 88 EZESYS-HP VALUE "HP". 88 EZESYS-ITF VALUE "ITF". 88 EZESYS-NTCICS VALUE "NTCICS". 88 EZESYS-WINNT VALUE "WINNT". 05 FILLER PIC X(2) VALUE LOW-VALUES. 05 EZEDLKEY. 10 EZEDLKYC PIC X(1). * FIXED WORK FIELDS COPY ELARHWRK. 01 EZECTL-CALL-FIELDS. 05 EZECTL-RETURN-CODE PIC S9(4) COMP. 05 EZECTL-INDEX PIC S9(4) COMP. 05 EZECTL-HOLD-EZEDLPSB PIC X(8). 05 EZECTL-HOLD-CTL-MODE PIC X(1). 05 EZECTL-HOLD-CTL-REQUEST PIC X(1). 01 EZECTL-CONTROL-FIELDS. 05 EZECTL-IN-EZETERMINATE-FLAG PIC X(1) VALUE "N". 88 EZECTL-IN-EZETERMINATE VALUE "Y". 88 EZECTL-NOT-IN-EZETERMINATE VALUE "N". 01 EZECTL-FUNCTION-RETURN-CODE. 05 EZECTL-FUNCTION-RC-BIN-2 PIC S9(4) COMP. 05 EZECTL-FUNCTION-RC-BIN-4 PIC S9(9) COMP. 05 EZECTL-FUNCTION-RC-NUM-8 PIC 9(8). *----------------------------------------------------------------- * EXTERNAL PARAMETER CONTROL BLOCK *----------------------------------------------------------------- 01 EZEPARM-VALIDATION. 05 EZEPARM-ID PIC X(8) VALUE "ELARHPRM". 05 EZEPARM-COUNT PIC S9(4) COMP VALUE +4. 05 EZEPARM-TYPES. 10 FILLER PIC X(1) VALUE "4". 10 FILLER PIC X(1) VALUE "4". 10 FILLER PIC X(1) VALUE "4". 10 FILLER PIC X(1) VALUE "4". *----------------------------------------------------------------- * WORKING STORAGE RECORD VDBCOMMON *----------------------------------------------------------------- 01 EZEWS-VDBCOMMON-GP. 02 EZEWS-ID PIC X(8) VALUE "ELAASGWS". 02 EZEWS-VDBCOMMON-LL PIC S9(8) COMP VALUE +158. 02 FILLER PIC X(2) VALUE SPACES. 02 FILLER PIC X(18) VALUE "VDBCOMMON". *----------------------------------------------------------------- * RECORD NAME : VDBCOMMON * FILE ORGANIZATION : WORKSTOR * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 10:48:58 * RECORD PROLOGUE : * ************************************************************ * * Record : VDBCOMMON * * * * Function : Database information and control record * * to be used in the application itself * * ************************************************************ *----------------------------------------------------------------- 02 VDBCOMMON. * General Purpose Index 05 UINDEX1 PIC S9(4) VALUE ZERO USAGE COMP. * General Purpose Index 05 UINDEX2 PIC S9(4) VALUE ZERO USAGE COMP. * General Purpose Index 05 UINDEX3 PIC S9(4) VALUE ZERO USAGE COMP. * Genral Purpose Index 05 UINDEX4 PIC S9(4) VALUE ZERO USAGE COMP. * General Purpose Index 05 UINDEX5 PIC S9(4) VALUE ZERO USAGE COMP. * Last Update Date Timestamp 05 ULAST-UPDATE-TS PIC X(26) VALUE SPACES USAGE DISPLAY. * Application Name 05 UAPPLNAM PIC X(7) VALUE SPACES USAGE DISPLAY. 05 EZE-REDEF-1 REDEFINES UAPPLNAM. * Application Prefix 06 UAPPLPFX PIC X(3) USAGE DISPLAY. 06 EZE-REDEF-2 REDEFINES UAPPLPFX. * Project/System ID - 1st Char 07 USYSID1 PIC X(1) USAGE DISPLAY. * Application ID 07 UAPPLID PIC X(2) USAGE DISPLAY. * Application Suffix 06 UAPPLSFX PIC X(4) USAGE DISPLAY. * Process Name 05 UPROCNAM PIC X(30) VALUE SPACES USAGE DISPLAY. * Table Name 05 UTABLNAM PIC X(30) VALUE SPACES USAGE DISPLAY. * SQL Row Record Name 05 USQLREC PIC X(18) VALUE SPACES USAGE DISPLAY. * NRF Flag 05 UNRF PIC X(1) VALUE SPACES USAGE DISPLAY. * Duplicate Key Flag 05 UDUP PIC X(1) VALUE SPACES USAGE DISPLAY. * SQL Number Item 05 USQLNUM PIC S9(3) VALUE ZERO USAGE DISPLAY. * SQL Code (CHA) 05 UEZESQCD PIC X(4) VALUE SPACES USAGE DISPLAY. 05 EZE-REDEF-3 REDEFINES UEZESQCD. * Number Sign 06 USIGN PIC X(1) USAGE DISPLAY. * SQL Code Insert 06 USQLCHA PIC X(3) USAGE DISPLAY. 02 FILLER PIC X(4) VALUE "*END". EXEC SQL INCLUDE SQLCA END-EXEC. * SQL ITEM REQUEST BLOCK COPY ELASHSQI. *----------------------------------------------------------------- * RECORD NAME = KULLANICI * TABLE NAME = GUVENLIK.KULLANICI * SQL ROW ITEM SQL COLUMN * KULLANICI_KOD KULLANICI_KOD * GRUP_KOD GRUP_KOD * SIFRE SIFRE *----------------------------------------------------------------- 01 EZESTA-KULLANICI-GP. 02 EZESTA-ID PIC X(8) VALUE "ELAASGSR". 02 EZESTA-KULLANICI-LL PIC S9(8) COMP VALUE +68. 02 EZESTA-KULLANICI-RC PIC S9(2) VALUE 00. 88 EZESTA-KULLANICI-OK VALUE 00. 88 EZESTA-KULLANICI-ERR VALUES ARE -99 THRU -01 01 THRU 99. 88 EZESTA-KULLANICI-SFT VALUES ARE 01 THRU 99. 88 EZESTA-KULLANICI-DED VALUE -01. 88 EZESTA-KULLANICI-DUP VALUE -05. 88 EZESTA-KULLANICI-EOF VALUE 03 07. 88 EZESTA-KULLANICI-NRF VALUE 04 07. 88 EZESTA-KULLANICI-UNQ VALUE -05. 88 EZESTA-KULLANICI-HRD VALUES ARE -99 THRU -01. 88 EZESTA-KULLANICI-FUL VALUE -06. 88 EZESTA-KULLANICI-FNA VALUE -07. 88 EZESTA-KULLANICI-FMT VALUE -08. 88 EZESTA-KULLANICI-FNF VALUE -09. 88 EZESTA-KULLANICI-LOK VALUE -10. 02 FILLER PIC X(18) VALUE "KULLANICI". *----------------------------------------------------------------- * RECORD NAME : KULLANICI * FILE ORGANIZATION : SQLROW * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 14:56:33 * RECORD PROLOGUE : * *----------------------------------------------------------------- 02 KULLANICI. 10 FILLER PIC X(4). * KULLANICI_KOD WAS RENAMED TO KULLANICI-KOD 10 KULLANICI-KOD PIC X(10) USAGE DISPLAY. 10 FILLER PIC X(4). * GRUP_KOD WAS RENAMED TO EZEI-1 10 EZEI-1 PIC X(8) USAGE DISPLAY. 10 FILLER PIC X(4). 10 SIFRE PIC X(10) USAGE DISPLAY. 02 EZESQL-KULLANICI-H REDEFINES KULLANICI. 10 FILLER PIC X(4). 10 KULLANICI-KOD PIC X(10) USAGE DISPLAY. 10 FILLER PIC X(4). 10 EZEI-1 PIC X(8) USAGE DISPLAY. 10 FILLER PIC X(4). 10 SIFRE PIC X(10) USAGE DISPLAY. 02 EZESQL-KULLANICI-I REDEFINES KULLANICI. 10 KULLANICI-KOD PIC S9(4) COMP. 10 FILLER PIC X(12). 10 EZEI-1 PIC S9(4) COMP. 10 FILLER PIC X(10). 10 SIFRE PIC S9(4) COMP. 10 FILLER PIC X(12). 02 FILLER PIC X(4) VALUE "*END". *----------------------------------------------------------------- * RECORD NAME = YETKI * TABLE NAME = GUVENLIK.YETKI * SQL ROW ITEM SQL COLUMN * GRUP_KOD GRUP_KOD * UST_MENU UST_MENU * MENU_OGE MENU_OGE * EKRAN_ADI EKRAN_ADI *----------------------------------------------------------------- 01 EZESTA-YETKI-GP. 02 EZESTA-ID PIC X(8) VALUE "ELAASGSR". 02 EZESTA-YETKI-LL PIC S9(8) COMP VALUE +74. 02 EZESTA-YETKI-RC PIC S9(2) VALUE 00. 88 EZESTA-YETKI-OK VALUE 00. 88 EZESTA-YETKI-ERR VALUES ARE -99 THRU -01 01 THRU 99. 88 EZESTA-YETKI-SFT VALUES ARE 01 THRU 99. 88 EZESTA-YETKI-DED VALUE -01. 88 EZESTA-YETKI-DUP VALUE -05. 88 EZESTA-YETKI-EOF VALUE 03 07. 88 EZESTA-YETKI-NRF VALUE 04 07. 88 EZESTA-YETKI-UNQ VALUE -05. 88 EZESTA-YETKI-HRD VALUES ARE -99 THRU -01. 88 EZESTA-YETKI-FUL VALUE -06. 88 EZESTA-YETKI-FNA VALUE -07. 88 EZESTA-YETKI-FMT VALUE -08. 88 EZESTA-YETKI-FNF VALUE -09. 88 EZESTA-YETKI-LOK VALUE -10. 02 FILLER PIC X(18) VALUE "YETKI". *----------------------------------------------------------------- * RECORD NAME : YETKI * FILE ORGANIZATION : SQLROW * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 14:58:50 * RECORD PROLOGUE : * *----------------------------------------------------------------- 02 YETKI. 10 FILLER PIC X(4). * GRUP_KOD WAS RENAMED TO GRUP-KOD 10 GRUP-KOD PIC X(8) USAGE DISPLAY. 10 FILLER PIC X(4). * UST_MENU WAS RENAMED TO UST-MENU 10 UST-MENU PIC S9(4) USAGE COMP. 10 FILLER PIC X(4). * MENU_OGE WAS RENAMED TO MENU-OGE 10 MENU-OGE PIC S9(4) USAGE COMP. 10 FILLER PIC X(4). * EKRAN_ADI WAS RENAMED TO EKRAN-ADI 10 EKRAN-ADI PIC X(18) USAGE DISPLAY. 02 EZESQL-YETKI-H REDEFINES YETKI. 10 FILLER PIC X(4). 10 GRUP-KOD PIC X(8) USAGE DISPLAY. 10 FILLER PIC X(4). 10 UST-MENU PIC S9(4) USAGE COMP. 10 FILLER PIC X(4). 10 MENU-OGE PIC S9(4) USAGE COMP. 10 FILLER PIC X(4). 10 EKRAN-ADI PIC X(18) USAGE DISPLAY. 02 EZESQL-YETKI-I REDEFINES YETKI. 10 GRUP-KOD PIC S9(4) COMP. 10 FILLER PIC X(10). 10 UST-MENU PIC S9(4) COMP. 10 FILLER PIC X(4). 10 MENU-OGE PIC S9(4) COMP. 10 FILLER PIC X(4). 10 EKRAN-ADI PIC S9(4) COMP. 10 FILLER PIC X(20). 02 FILLER PIC X(4) VALUE "*END". LINKAGE SECTION. 01 DFHCOMMAREA. 05 EZECOMMAREA PIC X(32763). 05 EZECOMMAREA-MAPPED REDEFINES EZECOMMAREA. 10 EZECOMMAREA-SSM-STATUS PIC X. 10 EZECOMMAREA-MAP-NAME PIC X(8). 10 EZECOMMAREA-RESERVED-0 PIC X. 10 EZECOMMAREA-USER-AREA PIC X(32753). 05 EZECOMMAREA-POINTERS REDEFINES EZECOMMAREA. 10 EZECOMMAREA-PTR USAGE IS POINTER OCCURS 8190 TIMES. 10 EZECOMMAREA-PTR-RSVD PIC X(3). * RTS CONTROL BLOCK COPY ELARHRTS REPLACING ==SYNCHRONIZED EXTERNAL== BY ==SYNCHRONIZED==. * RTS NLS-DEPENDENT INSTALLATION OPTIONS CONTROL BLOCK COPY ELARHIOE. * RTS NLS-INDEPENDENT INSTALLATION OPTIONS CONTROL BLOCK COPY ELARHIOP. * RESOURCE CONTROL BLOCK COPY ELARHRSC. * STATIC CONTROL BLOCK COPY ELARHSCB. *----------------------------------------------------------------- * RECORD NAME : WKULLANICI * FILE ORGANIZATION : WORKSTOR * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 11:57:18 * RECORD PROLOGUE : * *----------------------------------------------------------------- 01 EZERCD-WKULLANICI-GP. 02 WKULLANICI. * KULLANICI_KOD WAS RENAMED TO EZEI-2 05 EZEI-2 PIC X(10) USAGE DISPLAY. * GRUP_KOD WAS RENAMED TO EZEI-3 05 EZEI-3 PIC X(8) USAGE DISPLAY. 05 SIFRE PIC X(10) USAGE DISPLAY. *----------------------------------------------------------------- * RECORD NAME : WYETKIARR * FILE ORGANIZATION : WORKSTOR * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 14:13:56 * RECORD PROLOGUE : * *----------------------------------------------------------------- 01 EZERCD-WYETKIARR-GP. 02 WYETKIARR. 05 EZE-GROUP-4 OCCURS 20 INDEXED BY EZEIDX4. 06 ITEMS PIC X(24) USAGE DISPLAY. 06 EZE-REDEF-5 REDEFINES ITEMS. * UST_MENU WAS RENAMED TO EZEI-4 07 EZEI-4 PIC S9(3) USAGE DISPLAY. * MENU_OGE WAS RENAMED TO EZEI-5 07 EZEI-5 PIC S9(3) USAGE DISPLAY. * EKRAN_ADI WAS RENAMED TO EZEI-6 07 EZEI-6 PIC X(18) USAGE DISPLAY. * COUNT WAS RENAMED TO EZEI-COUNT 05 EZEI-COUNT PIC S9(3) USAGE DISPLAY. *----------------------------------------------------------------- * RECORD NAME : VDBCONTROL * FILE ORGANIZATION : WORKSTOR * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 10:49:21 * RECORD PROLOGUE : * ************************************************************ * * Record : VDBCONTROL * * * * Function : Database and control information to pass * * between umbrella and atomic server * * applications. * * ************************************************************ *----------------------------------------------------------------- 01 EZERCD-VDBCONTROL-GP. 02 VDBCONTROL. * Database Control Record Item 05 UDBCONTROL PIC X(74) USAGE DISPLAY. 05 EZE-REDEF-6 REDEFINES UDBCONTROL. * Return Code (CHA) 06 URCCHAR PIC X(3) USAGE DISPLAY. 06 EZE-REDEF-7 REDEFINES URCCHAR. * Return Code 07 URC PIC S9(3) USAGE DISPLAY. * Rollback Required Flag 06 UROLLBACK PIC X(1) USAGE DISPLAY. * Error Message Inserts from SQL 06 UEZESQRRM PIC X(70) USAGE DISPLAY. * Database Local Area 05 UDBLOCAL PIC X(11) USAGE DISPLAY. 05 EZE-REDEF-8 REDEFINES UDBLOCAL. * SQL Access Type 06 UACCTYP PIC X(1) USAGE DISPLAY. * Access Type Save 06 UACCSAV PIC X(1) USAGE DISPLAY. * Rows Read Counter 06 UROWR PIC S9(9) USAGE COMP. * Rows Written Counter 06 UROWW PIC S9(9) USAGE COMP. * Req. I/O (ISUD) or List (LFB) 06 UIOTYPE PIC X(1) USAGE DISPLAY. * NRF Flag 05 UNRF PIC X(1) USAGE DISPLAY. * HIGH-VALUE WAS RENAMED TO EZEI-HIGH-VALUE 05 EZEI-HIGH-VALUE PIC X(1) USAGE DISPLAY. 05 EZE-REDEF-9 REDEFINES EZEI-HIGH-VALUE. 06 HIGH-VALUE-HEX PIC X(1) USAGE DISPLAY. * LOW-VALUE WAS RENAMED TO EZEI-LOW-VALUE 05 EZEI-LOW-VALUE PIC X(1) USAGE DISPLAY. 05 EZE-REDEF-10 REDEFINES EZEI-LOW-VALUE. 06 LOW-VALUE-HEX PIC X(1) USAGE DISPLAY. * HIGH-VALUES WAS RENAMED TO EZEI-HIGH-VALUES 05 EZEI-HIGH-VALUES PIC X(100) USAGE DISPLAY. 05 EZE-REDEF-11 REDEFINES EZEI-HIGH-VALUES. 06 HIGH-VALUES-CHAR PIC X(1) OCCURS 100 INDEXED BY EZEIDX1 USAGE DISPLAY. * LOW-VALUES WAS RENAMED TO EZEI-LOW-VALUES 05 EZEI-LOW-VALUES PIC X(100) USAGE DISPLAY. 05 EZE-REDEF-12 REDEFINES EZEI-LOW-VALUES. 06 LOW-VALUES-CHAR PIC X(1) OCCURS 100 INDEXED BY EZEIDX2 USAGE DISPLAY. *----------------------------------------------------------------- * RECORD NAME : VMESSAGE * FILE ORGANIZATION : WORKSTOR * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 10:49:43 * RECORD PROLOGUE : * ************************************************************ * * Record : VMESSAGE * * * * Function : Message record. * * * ************************************************************ *----------------------------------------------------------------- 01 EZERCD-VMESSAGE-GP. 02 VMESSAGE. 05 UMSGCONTROL PIC X(224) USAGE DISPLAY. 05 EZE-REDEF-13 REDEFINES UMSGCONTROL. * Message Code 06 UMSGCODE PIC X(8) USAGE DISPLAY. * Message Insert 06 UMSGINS PIC X(30) OCCURS 3 INDEXED BY EZEIDX3 USAGE DISPLAY. * Message Text 06 UMESSAGE PIC X(125) USAGE DISPLAY. * Message Type 06 UMSGTYPE PIC X(1) USAGE DISPLAY. EXEC SQL DECLARE EZE001001MENUS1 CURSOR FOR SELECT GRUP_KOD , SIFRE FROM GUVENLIK.KULLANICI T1 WHERE KULLANICI_KOD = :EZESQL-KULLANICI-H.KULLANICI-KOD:EZESQL-KULLANICI-I.KULLANIC - I-KOD END-EXEC. EXEC SQL DECLARE EZE002001MENUS1 CURSOR FOR SELECT UST_MENU , MENU_OGE , EKRAN_ADI FROM GUVENLIK.YETKI T1 WHERE GRUP_KOD = :EZESQL-YETKI-H.GRUP-KOD:EZESQL-YETKI-I.GRUP-KOD END-EXEC. *----------------------------------------------------------------- * SQL CURSOR CONTROL BLOCKS *----------------------------------------------------------------- 01 EZECRS-CURSOR-BLOCKS. 02 EZECRS-ID PIC X(8). 02 EZECRS-CNT PIC S9(4) COMP. *----------------------------------------------------------------- * CURSOR CONTROL BLOCK FOR SQL ROW KULLANICI *----------------------------------------------------------------- 02 EZECRS-KULLANICI-CB. 05 EZECRS-KULLANICI-TYP PIC X(4). 88 EZECRS-KULLANICI-SETI VALUE "SETI". 88 EZECRS-KULLANICI-SETU VALUE "SETU". 88 EZECRS-KULLANICI-SIWH VALUE "SIWH". 88 EZECRS-KULLANICI-SUWH VALUE "SUWH". 88 EZECRS-KULLANICI-UPDT VALUE "UPDT". 88 EZECRS-KULLANICI-INQU VALUE "INQU". 05 EZECRS-KULLANICI-ID PIC S9(4) COMP. 88 EZECRS-KULLANICI-CLOS VALUE 0. *----------------------------------------------------------------- * CURSOR CONTROL BLOCK FOR SQL ROW YETKI *----------------------------------------------------------------- 02 EZECRS-YETKI-CB. 05 EZECRS-YETKI-TYP PIC X(4). 88 EZECRS-YETKI-SETI VALUE "SETI". 88 EZECRS-YETKI-SETU VALUE "SETU". 88 EZECRS-YETKI-SIWH VALUE "SIWH". 88 EZECRS-YETKI-SUWH VALUE "SUWH". 88 EZECRS-YETKI-UPDT VALUE "UPDT". 88 EZECRS-YETKI-INQU VALUE "INQU". 05 EZECRS-YETKI-ID PIC S9(4) COMP. 88 EZECRS-YETKI-CLOS VALUE 0. PROCEDURE DIVISION. *----------------------------------------------------------------- * MAIN PROCESS *----------------------------------------------------------------- EZEMAIN-PROCESS SECTION. PERFORM EZECONTROL GOBACK. *----------------------------------------------------------------- * BEGIN PROCESS *----------------------------------------------------------------- EZEBEGIN-PROCESSES SECTION. CONTINUE. *----------------------------------------------------------------- * SQL PROCESS OPTIONS BYPASS *----------------------------------------------------------------- EZESQL-PROCESS-BYPASS SECTION. GO TO MENUS1-MAIN. EZESQL-PROCESS-BYPASS-X. EXIT. *----------------------------------------------------------------- * SQL PROCESS OPTIONS * * SQL CLOSE CURSOR AND PROCESS OPTIONS SECTIONS ARE PLACED AT THE * TOP OF THE PROGRAM. * THE SQL PREPROCESSOR DOES NOT PROCESS EXEC SQL STATEMENTS AFTER * 32,767. *----------------------------------------------------------------- *----------------------------------------------------------------- * CLOSE CURSOR FOR SQL ROW KULLANICI *----------------------------------------------------------------- EZECLOSCU-KULLANICI SECTION. MOVE SPACES TO EZECRS-KULLANICI-TYP IF EZECRS-KULLANICI-CLOS GO TO EZECLOSCU-KULLANICI-X END-IF IF EZECRS-KULLANICI-ID = 1 EXEC SQL CLOSE EZE001001MENUS1 END-EXEC END-IF SET EZECRS-KULLANICI-CLOS TO TRUE MOVE "CLOSE" TO EZERTS-SQL-COMMAND PERFORM EZESQL-ERROR-ROUTINE IF EZERTS-PRC-OPT = "CLOSE" OR (SQLCODE NOT = 0 AND EZESQCOD = 0) MOVE SQLCA TO EZESQLCA MOVE EZERTS-SQLERR-STATUS TO EZESTA-KULLANICI-RC END-IF. EZECLOSCU-KULLANICI-X. EXIT. *----------------------------------------------------------------- * CLOSE CURSOR FOR SQL ROW YETKI *----------------------------------------------------------------- EZECLOSCU-YETKI SECTION. MOVE SPACES TO EZECRS-YETKI-TYP IF EZECRS-YETKI-CLOS GO TO EZECLOSCU-YETKI-X END-IF IF EZECRS-YETKI-ID = 1 EXEC SQL CLOSE EZE002001MENUS1 END-EXEC END-IF SET EZECRS-YETKI-CLOS TO TRUE MOVE "CLOSE" TO EZERTS-SQL-COMMAND PERFORM EZESQL-ERROR-ROUTINE IF EZERTS-PRC-OPT = "CLOSE" OR (SQLCODE NOT = 0 AND EZESQCOD = 0) MOVE SQLCA TO EZESQLCA MOVE EZERTS-SQLERR-STATUS TO EZESTA-YETKI-RC END-IF. EZECLOSCU-YETKI-X. EXIT. *----------------------------------------------------------------- * INPUT / OUTPUT ROUTINE FOR PROCESS KULLANICI_INQ1 *----------------------------------------------------------------- * PROCESS OPTION : INQUIRY * PROCESS OBJECT : KULLANICI *----------------------------------------------------------------- EZEINQU-KULLANICI-INQ1 SECTION. MOVE "KULLANICI_INQ1" TO EZERTS-PRC-NAME MOVE "INQUIRY" TO EZERTS-PRC-OPT MOVE "KULLANICI" TO EZERTS-PRC-OBJ SET EZERTS-NO-ERROR-ROUTINE TO TRUE MOVE ZEROES TO EZESTA-KULLANICI-RC IF NOT EZECRS-KULLANICI-CLOS PERFORM EZECLOSCU-KULLANICI IF EZESTA-KULLANICI-HRD GO TO EZEINQ-KULLANICI-INQ1-ERR END-IF END-IF EXEC SQL OPEN EZE001001MENUS1 END-EXEC MOVE "OPEN" TO EZERTS-SQL-COMMAND PERFORM EZESQL-ERROR-ROUTINE MOVE EZERTS-SQLERR-STATUS TO EZESTA-KULLANICI-RC IF EZESTA-KULLANICI-HRD OR EZESTA-KULLANICI-NRF GO TO EZEINQ-KULLANICI-INQ1-ERR END-IF MOVE 1 TO EZECRS-KULLANICI-ID MOVE "INQU" TO EZECRS-KULLANICI-TYP EXEC SQL FETCH EZE001001MENUS1 INTO :EZESQL-KULLANICI-H.EZEI-1:EZESQL-KULLANICI-I.EZEI-1 , :EZESQL-KULLANICI-H.SIFRE:EZESQL-KULLANICI-I.SIFRE END-EXEC MOVE "FETCH" TO EZERTS-SQL-COMMAND PERFORM EZESQL-ERROR-ROUTINE MOVE EZERTS-SQLERR-STATUS TO EZESTA-KULLANICI-RC PERFORM EZECLOSCU-KULLANICI. IF EZESTA-KULLANICI-HRD OR EZESTA-KULLANICI-NRF GO TO EZEINQ-KULLANICI-INQ1-ERR END-IF. IF EZEI-1 OF EZESQL-KULLANICI-I NEGATIVE MOVE SPACES TO EZEI-1 OF KULLANICI END-IF IF SIFRE OF EZESQL-KULLANICI-I NEGATIVE MOVE SPACES TO SIFRE OF KULLANICI END-IF CONTINUE. EZEINQ-KULLANICI-INQ1-ERR. IF EZESTA-KULLANICI-ERR SET EZERTS-EZECLOS TO TRUE GO TO EZETERMINATE END-IF CONTINUE. EZEINQU-KULLANICI-INQ1-X. EXIT. *----------------------------------------------------------------- * INPUT / OUTPUT ROUTINE FOR PROCESS YETKI_SCAN *----------------------------------------------------------------- * PROCESS OPTION : SCAN * PROCESS OBJECT : YETKI *----------------------------------------------------------------- EZESCAN-YETKI-SCAN SECTION. MOVE "YETKI_SCAN" TO EZERTS-PRC-NAME MOVE "SCAN" TO EZERTS-PRC-OPT MOVE "YETKI" TO EZERTS-PRC-OBJ SET EZERTS-NO-ERROR-ROUTINE TO TRUE MOVE ZEROES TO EZESTA-YETKI-RC IF EZECRS-YETKI-ID NOT = 1 MOVE 0086 TO EZERTS-ERROR-NUM CALL "ELARSVCS" USING EZERTS-CONTROL-BLOCK EZERTS-ERROR-REQUEST-BLOCK GO TO EZETERMINATE END-IF IF EZECRS-YETKI-ID = 1 EXEC SQL FETCH EZE002001MENUS1 INTO :EZESQL-YETKI-H.UST-MENU:EZESQL-YETKI-I.UST-MENU , :EZESQL-YETKI-H.MENU-OGE:EZESQL-YETKI-I.MENU-OGE , :EZESQL-YETKI-H.EKRAN-ADI:EZESQL-YETKI-I.EKRAN-ADI END-EXEC MOVE "FETCH" TO EZERTS-SQL-COMMAND PERFORM EZESQL-ERROR-ROUTINE MOVE EZERTS-SQLERR-STATUS TO EZESTA-YETKI-RC IF EZESTA-YETKI-HRD OR EZESTA-YETKI-NRF PERFORM EZECLOSCU-YETKI GO TO EZESCAN-YETKI-SCAN-ERR END-IF IF UST-MENU OF EZESQL-YETKI-I NEGATIVE MOVE ZERO TO UST-MENU OF YETKI END-IF IF MENU-OGE OF EZESQL-YETKI-I NEGATIVE MOVE ZERO TO MENU-OGE OF YETKI END-IF IF EKRAN-ADI OF EZESQL-YETKI-I NEGATIVE MOVE SPACES TO EKRAN-ADI OF YETKI END-IF END-IF CONTINUE. EZESCAN-YETKI-SCAN-ERR. IF EZESTA-YETKI-ERR SET EZERTS-EZECLOS TO TRUE GO TO EZETERMINATE END-IF CONTINUE. EZESCAN-YETKI-SCAN-X. EXIT. *----------------------------------------------------------------- * INPUT / OUTPUT ROUTINE FOR PROCESS YETKI_SIQ1 *----------------------------------------------------------------- * PROCESS OPTION : SETINQ * PROCESS OBJECT : YETKI *----------------------------------------------------------------- EZESETI-YETKI-SIQ1 SECTION. MOVE "YETKI_SIQ1" TO EZERTS-PRC-NAME MOVE "SETINQ" TO EZERTS-PRC-OPT MOVE "YETKI" TO EZERTS-PRC-OBJ SET EZERTS-NO-ERROR-ROUTINE TO TRUE MOVE ZEROES TO EZESTA-YETKI-RC IF NOT EZECRS-YETKI-CLOS PERFORM EZECLOSCU-YETKI IF EZESTA-YETKI-HRD GO TO EZESETI-YETKI-SIQ1-ERR END-IF END-IF EXEC SQL OPEN EZE002001MENUS1 END-EXEC MOVE "OPEN" TO EZERTS-SQL-COMMAND PERFORM EZESQL-ERROR-ROUTINE MOVE EZERTS-SQLERR-STATUS TO EZESTA-YETKI-RC IF EZESTA-YETKI-HRD OR EZESTA-YETKI-NRF GO TO EZESETI-YETKI-SIQ1-ERR END-IF MOVE 1 TO EZECRS-YETKI-ID MOVE "SETI" TO EZECRS-YETKI-TYP. EZESETI-YETKI-SIQ1-ERR. IF EZESTA-YETKI-ERR SET EZERTS-EZECLOS TO TRUE GO TO EZETERMINATE END-IF CONTINUE. EZESETI-YETKI-SIQ1-X. EXIT. *----------------------------------------------------------------- * MAIN PROCESS : MENUS1-MAIN * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 14:15:07 * PROCESS OPTION : EXECUTE *----------------------------------------------------------------- MENUS1-MAIN SECTION. MOVE "MENUS1-MAIN" TO EZERTS-PRC-NAME 000001* 000002* /* Standard initialization for atomic database operations. 000003* PERFORM SQL-INIT; PERFORM EZEP-SQL-INIT 000004* 000005* /* Initialize Access Type (R=read, W=write). 000006* VDBCONTROL.UACCTYP = 'R'; MOVE "R" TO UACCTYP OF VDBCONTROL 000007* VDBCONTROL.UIOTYPE = 'S'; MOVE "S" TO UIOTYPE OF VDBCONTROL 000008* 000009* /* Store application name 000010* VDBCOMMON.UAPPLNAM = 'MENUS1'; MOVE "MENUS1" TO UAPPLNAM OF VDBCOMMON 000011* 000012* /* Store the name of the SQL record in the server common record. 000013* VDBCOMMON.USQLREC = 'KULLANICI'; MOVE "KULLANICI" TO USQLREC OF VDBCOMMON 000014* VDBCOMMON.UTABLNAM = "Kullanici Bilgileri"; MOVE "Kullanici Bilgileri" TO UTABLNAM OF VDBCOMMON 000015* 000016* /* search key 000017* KULLANICI.KULLANICI_KOD = WKULLANICI.KULLANICI_KOD; MOVE EZEI-2 OF WKULLANICI TO KULLANICI-KOD OF KULLANICI MOVE ZEROS TO KULLANICI-KOD OF EZESQL-KULLANICI-I 000018* 000019* /* Retrieve the data from table 000020* PERFORM KULLANICI_INQ1; PERFORM KULLANICI-INQ1 000021* 000022* /* Move data to detail record 000023* IF KULLANICI NOT ERR; IF NOT EZESTA-KULLANICI-ERR GO TO EZECONDLBL-1 END-IF GO TO EZECONDLBL-2 CONTINUE. EZECONDLBL-1. 000024* WKULLANICI.GRUP_KOD = KULLANICI.GRUP_KOD; MOVE EZEI-1 OF KULLANICI TO EZEI-3 OF WKULLANICI 000025* IF KULLANICI.SIFRE EQ WKULLANICI.SIFRE; IF SIFRE OF KULLANICI = SIFRE OF WKULLANICI GO TO EZECONDLBL-3 END-IF GO TO EZECONDLBL-4 CONTINUE. EZECONDLBL-3. 000026* YETKI.GRUP_KOD = KULLANICI.GRUP_KOD; MOVE EZEI-1 OF EZESQL-KULLANICI-I TO GRUP-KOD OF EZESQL-YETKI-I MOVE EZEI-1 OF KULLANICI TO GRUP-KOD OF YETKI 000027* PERFORM YETKI_SIQ1; PERFORM YETKI-SIQ1 000028* /* scan table 000029* PERFORM MENUS1_SCAN_DATA; PERFORM MENUS1-SCAN-DATA 000030* ELSE; GO TO EZECONDLBL-5 CONTINUE. EZECONDLBL-4. 000031* VMESSAGE.UMSGCODE = 'UYG0024'; MOVE "UYG0024" TO UMSGCODE OF VMESSAGE CONTINUE. EZECONDLBL-5. 000032* END; CONTINUE. EZECONDLBL-2. 000033* END; 000034* 000035* /* Set error flags. 000036* /* UNRF - no record found flag (Y,N,1) 000037* /* UDUP - duplicate key flag (Y,N) 000038* VDBCOMMON.UNRF = '1'; MOVE "1" TO UNRF OF VDBCOMMON 000039* VDBCOMMON.UDUP = 'N'; MOVE "N" TO UDUP OF VDBCOMMON 000040* 000041* /* Start DBM error processing. 000042* PERFORM SQL-ERROR; PERFORM EZEP-SQL-ERROR CONTINUE. EZE-MENUS1-MAIN-X. EXIT. *----------------------------------------------------------------- * STRUCTURE LIST POST-PROCESSING *----------------------------------------------------------------- EZESTRUCTURE-FALLTHRU SECTION. GO TO EZETERMINATE. EZESTRUCTURE-FALLTHRU-X. EXIT. *----------------------------------------------------------------- * PROCESS : KULLANICI_INQ1 * : KULLANICI_INQ1 RENAMED TO KULLANICI-INQ1 * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 12:05:06 * PROCESS OPTION : INQUIRY * PROCESS OBJECT : KULLANICI *----------------------------------------------------------------- KULLANICI-INQ1 SECTION. MOVE "KULLANICI_INQ1" TO EZERTS-PRC-NAME PERFORM EZEINQU-KULLANICI-INQ1 CONTINUE. EZE-KULLANICI-INQ1-X. EXIT. *----------------------------------------------------------------- * PROCESS : MENUS1_SCAN_DATA * : MENUS1_SCAN_DATA RENAMED TO MENUS1-SCAN-DATA * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 14:13:21 * PROCESS OPTION : EXECUTE *----------------------------------------------------------------- MENUS1-SCAN-DATA SECTION. MOVE "MENUS1_SCAN_DATA" TO EZERTS-PRC-NAME 000046* COUNT = 0; MOVE 0 TO EZEI-COUNT OF WYETKIARR CALL "ELAFXNUM" USING EZEI-COUNT OF WYETKIARR(LENGTH OF EZEI-COUNT OF WYETKIARR:1) 000047* WHILE YETKI NOT NRF; CONTINUE. EZECONDLBL-6. IF NOT EZESTA-YETKI-NRF GO TO EZECONDLBL-7 END-IF GO TO EZECONDLBL-8 CONTINUE. EZECONDLBL-7. 000048* PERFORM YETKI_SCAN; PERFORM YETKI-SCAN 000049* IF EZESQCOD = 0; IF EZESQCOD = 0 000050* COUNT = COUNT + 1; COMPUTE EZEI-COUNT OF WYETKIARR = EZEI-COUNT OF WYETKIARR + 1 ON SIZE ERROR MOVE "MENUS1_SCAN_DATA" TO EZERTS-PRC-NAME MOVE 50 TO EZERTS-PRC-NUM PERFORM EZEOVER-ROUTINE END-COMPUTE CALL "ELAFXNUM" USING EZEI-COUNT OF WYETKIARR(LENGTH OF EZEI-COUNT OF WYETKIARR:1) 000051* WYETKIARR.UST_MENU(COUNT) = YETKI.UST_MENU; COMPUTE EZEI-4 OF WYETKIARR (EZEI-COUNT OF WYETKIARR) = UST-MENU OF YETKI ON SIZE ERROR MOVE "MENUS1_SCAN_DATA" TO EZERTS-PRC-NAME MOVE 51 TO EZERTS-PRC-NUM PERFORM EZEOVER-ROUTINE END-COMPUTE CALL "ELAFXNUM" USING EZEI-4 OF WYETKIARR (EZEI-COUNT OF WYETKIARR)(LENGTH OF EZEI-4 OF WYETKIARR (EZEI-COUNT OF WYETKIARR):1) 000052* WYETKIARR.MENU_OGE(COUNT) = YETKI.MENU_OGE; COMPUTE EZEI-5 OF WYETKIARR (EZEI-COUNT OF WYETKIARR) = MENU-OGE OF YETKI ON SIZE ERROR MOVE "MENUS1_SCAN_DATA" TO EZERTS-PRC-NAME MOVE 52 TO EZERTS-PRC-NUM PERFORM EZEOVER-ROUTINE END-COMPUTE CALL "ELAFXNUM" USING EZEI-5 OF WYETKIARR (EZEI-COUNT OF WYETKIARR)(LENGTH OF EZEI-5 OF WYETKIARR (EZEI-COUNT OF WYETKIARR):1) 000053* WYETKIARR.EKRAN_ADI(COUNT) = YETKI.EKRAN_ADI; MOVE EKRAN-ADI OF YETKI TO EZEI-6 OF WYETKIARR (EZEI-COUNT OF WYETKIARR) 000054* END; END-IF GO TO EZECONDLBL-6 CONTINUE. EZECONDLBL-8. 000055* END; 000056* 000057* CONTINUE. EZE-MENUS1-SCAN-DATA-X. EXIT. *----------------------------------------------------------------- * PROCESS : SQL-ERROR * : SQL-ERROR RENAMED TO EZEP-SQL-ERROR * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 10:43:35 * PROCESS OPTION : EXECUTE * DESCRIPTION : std. SQL error handler *----------------------------------------------------------------- EZEP-SQL-ERROR SECTION. MOVE "SQL-ERROR" TO EZERTS-PRC-NAME 000058* /* *********************************************************** 000059* /* * Process : SQL-ERROR 000060* /* * 000061* /* * Function : Reusable standard SQL error handling process. 000062* /* * 000063* /* ************************************************************ 000064* /* ----------------------------------------------------------- 000065* /* This process handles SQL errors. Depending on the values 000066* /* in EZESQLCOD, VDBCONTROL.URC and the UNRF and UDUP flags, 000067* /* the need of a ROLLBACK is required. 000068* /* 000069* /* ROLLBACK in only necessary when action type is 000070* /* UACCTYP = 'W'. Both COMMIT and ROLLBACK will have to 000071* /* be issued from the calling application (umbrella). 000072* /* 000073* /* Condition UNRF UDUP URC Commit or Rollback 000074* /* ========= ==== ==== === ================== 000075* /* EZESQCOD=0 * * 0 COMMIT 000076* /* EZESQCOD=100 Y * 100 ROLLBACK 000077* /* EZESQCOD=100 N * 0 COMMIT 000078* /* EZESQCOD=100 1 * 100 ROLLBACK (if UROWR = 0) 000079* /* 0 COMMIT (if UROWR > 0) 000080* /* EZESQCOD=-803 * Y 104 ROLLBACK 000081* /* EZESQCOD=-803 * N 0 COMMIT 000082* /* EZESQCOD=-911 * * 108 ROLLBACK 000083* /* other SQL error * * 112 ROLLBACK 000084* 000085* /* In case an SQL error occurred: 000086* IF EZESQCOD NE 0 000087* AND VDBCONTROL.URC EQ 0; IF EZESQCOD NOT = 0 AND URC OF VDBCONTROL = 0 000088* 000089* /* No Record Found error (NRF) 000090* IF EZESQCOD EQ 100; IF EZESQCOD = 100 000091* IF VDBCONTROL.UIOTYPE EQ "D"; IF UIOTYPE OF VDBCONTROL = "D" 000092* /* Delete failed: row not found 000093* VMESSAGE.UMSGCODE = 'SQL0100D'; MOVE "SQL0100D" TO UMSGCODE OF VMESSAGE 000094* VDBCONTROL.URC = 1; MOVE 1 TO URC OF VDBCONTROL CALL "ELAFXNUM" USING URC OF VDBCONTROL(LENGTH OF URC OF VDBCONTROL:1) 000095* ELSE; ELSE 000096* IF VDBCONTROL.UIOTYPE EQ "U"; IF UIOTYPE OF VDBCONTROL = "U" 000097* /* Update failed: row not found 000098* VMESSAGE.UMSGCODE = 'SQL0100U'; MOVE "SQL0100U" TO UMSGCODE OF VMESSAGE 000099* VDBCONTROL.URC = 1; MOVE 1 TO URC OF VDBCONTROL CALL "ELAFXNUM" USING URC OF VDBCONTROL(LENGTH OF URC OF VDBCONTROL:1) 000100* ELSE; ELSE 000101* IF VDBCOMMON.UNRF EQ 'Y'; IF UNRF OF VDBCOMMON = "Y" 000102* /* Read failed: row not found 000103* VDBCONTROL.URC = 100; MOVE 100 TO URC OF VDBCONTROL CALL "ELAFXNUM" USING URC OF VDBCONTROL(LENGTH OF URC OF VDBCONTROL:1) 000104* VMESSAGE.UMSGCODE = 'SQL0100'; MOVE "SQL0100" TO UMSGCODE OF VMESSAGE 000105* ELSE; ELSE 000106* IF VDBCOMMON.UNRF EQ '1'; IF UNRF OF VDBCOMMON = "1" 000107* IF VDBCONTROL.UROWR EQ 0; IF UROWR OF VDBCONTROL = 0 000108* /* No rows read: NRF error 000109* VDBCONTROL.URC = 100; MOVE 100 TO URC OF VDBCONTROL CALL "ELAFXNUM" USING URC OF VDBCONTROL(LENGTH OF URC OF VDBCONTROL:1) 000110* VMESSAGE.UMSGCODE = 'SQL0100'; MOVE "SQL0100" TO UMSGCODE OF VMESSAGE 000111* END; END-IF 000112* END; END-IF 000113* END; END-IF 000114* END; END-IF 000115* END; END-IF 000116* ELSE; /* Other errors ELSE 000117* /* duplicate key error (DUP) 000118* IF EZESQCOD EQ -803; IF EZESQCOD = -803 000119* IF VDBCOMMON.UDUP EQ 'Y'; IF UDUP OF VDBCOMMON = "Y" 000120* VDBCONTROL.URC = 104; MOVE 104 TO URC OF VDBCONTROL CALL "ELAFXNUM" USING URC OF VDBCONTROL(LENGTH OF URC OF VDBCONTROL:1) 000121* VMESSAGE.UMSGCODE = 'SQL0803'; MOVE "SQL0803" TO UMSGCODE OF VMESSAGE 000122* END; END-IF 000123* ELSE; ELSE 000124* /* deadlock/timeout error 000125* IF EZESQCOD EQ -911 000126* OR EZESQCOD EQ -913; IF EZESQCOD = -911 OR EZESQCOD = -913 000127* VDBCONTROL.URC = 108; MOVE 108 TO URC OF VDBCONTROL CALL "ELAFXNUM" USING URC OF VDBCONTROL(LENGTH OF URC OF VDBCONTROL:1) 000128* VMESSAGE.UMSGCODE = 'SQL0913'; MOVE "SQL0913" TO UMSGCODE OF VMESSAGE 000129* ELSE; ELSE 000130* IF EZESQCOD EQ -532; IF EZESQCOD = -532 000131* VDBCONTROL.URC = 108; MOVE 108 TO URC OF VDBCONTROL CALL "ELAFXNUM" USING URC OF VDBCONTROL(LENGTH OF URC OF VDBCONTROL:1) 000132* VMESSAGE.UMSGCODE = 'SQL0532'; MOVE "SQL0532" TO UMSGCODE OF VMESSAGE 000133* ELSE; ELSE 000134* IF EZESQCOD EQ -530; IF EZESQCOD = -530 000135* VDBCONTROL.URC = 108; MOVE 108 TO URC OF VDBCONTROL CALL "ELAFXNUM" USING URC OF VDBCONTROL(LENGTH OF URC OF VDBCONTROL:1) 000136* VMESSAGE.UMSGCODE = 'SQL0530'; MOVE "SQL0530" TO UMSGCODE OF VMESSAGE 000137* ELSE; ELSE 000138* /* Other SQL error 000139* IF EZESQCOD LT 0; IF EZESQCOD < 0 000140* VDBCONTROL.URC = 112; MOVE 112 TO URC OF VDBCONTROL CALL "ELAFXNUM" USING URC OF VDBCONTROL(LENGTH OF URC OF VDBCONTROL:1) 000141* VMESSAGE.UMSGCODE = 'SQL9999'; MOVE "SQL9999" TO UMSGCODE OF VMESSAGE 000142* END; END-IF 000143* END; END-IF 000144* END; END-IF 000145* END; /* deadlock/timeout error END-IF 000146* END; /* DUP error END-IF 000147* END; /* NRF error END-IF 000148* 000149* /* When URC contains a value, move the EZESQCOD 000150* /* to the message insert field. 000151* IF VDBCONTROL.URC EQ 112 000152* OR VDBCONTROL.URC EQ 108; IF URC OF VDBCONTROL = 112 OR URC OF VDBCONTROL = 108 000153* 000154* /* Move SQL error number to number item. 000155* VDBCOMMON.USQLNUM = EZESQCOD; COMPUTE USQLNUM OF VDBCOMMON = EZESQCOD ON SIZE ERROR MOVE "SQL-ERROR" TO EZERTS-PRC-NAME MOVE 155 TO EZERTS-PRC-NUM PERFORM EZEOVER-ROUTINE END-COMPUTE CALL "ELAFXNUM" USING USQLNUM OF VDBCOMMON(LENGTH OF USQLNUM OF VDBCOMMON:1) 000156* 000157* /* Set SQL code sign. 000158* IF VDBCOMMON.USQLNUM LT 0; IF USQLNUM OF VDBCOMMON < 0 000159* VDBCOMMON.USIGN = '-'; MOVE "-" TO USIGN OF VDBCOMMON 000160* VDBCOMMON.USQLNUM = VDBCOMMON.USQLNUM * -1; COMPUTE USQLNUM OF VDBCOMMON = USQLNUM OF VDBCOMMON * -1 ON SIZE ERROR MOVE "SQL-ERROR" TO EZERTS-PRC-NAME MOVE 160 TO EZERTS-PRC-NUM PERFORM EZEOVER-ROUTINE END-COMPUTE CALL "ELAFXNUM" USING USQLNUM OF VDBCOMMON(LENGTH OF USQLNUM OF VDBCOMMON:1) 000161* ELSE; ELSE 000162* VDBCOMMON.USIGN = '+'; MOVE "+" TO USIGN OF VDBCOMMON 000163* END; /* Set SQL code sign. END-IF 000164* 000165* /* Move SQL error number to character item. 000166* VDBCOMMON.USQLCHA = VDBCOMMON.USQLNUM; MOVE USQLNUM OF VDBCOMMON(1:LENGTH OF USQLNUM OF VDBCOMMON) TO USQLCHA OF VDBCOMMON 000167* 000168* /* Move SQL error number to message insert. 000169* VMESSAGE.UMSGINS(1) = VDBCOMMON.UEZESQCD; MOVE UEZESQCD OF VDBCOMMON TO UMSGINS OF VMESSAGE (1) 000170* 000171* END; END-IF 000172* END; /* SQL error occurred. END-IF 000173* 000174* 000175* /* When error occurred: 000176* IF VDBCONTROL.URC NE 0; IF URC OF VDBCONTROL NOT = 0 000177* 000178* /* Store SQL message inserts. 000179* VDBCONTROL.UEZESQRRM = EZESQRRM; MOVE EZESQRRM TO UEZESQRRM OF VDBCONTROL 000180* 000181* /* Move applicationame to message insert. 000182* IF VMESSAGE.UMSGINS(1) EQ ' '; IF UMSGINS OF VMESSAGE (1) = " " 000183* VMESSAGE.UMSGINS(1) = VDBCOMMON.UPROCNAM; MOVE UPROCNAM OF VDBCOMMON TO UMSGINS OF VMESSAGE (1) 000184* END; END-IF 000185* 000186* /* Move applicationame to message insert. 000187* IF VMESSAGE.UMSGINS(2) EQ ' '; IF UMSGINS OF VMESSAGE (2) = " " 000188* VMESSAGE.UMSGINS(2) = VDBCOMMON.UAPPLNAM; MOVE UAPPLNAM OF VDBCOMMON TO UMSGINS OF VMESSAGE (2) 000189* END; END-IF 000190* 000191* /* Move tablename to message insert. 000192* IF VMESSAGE.UMSGINS(3) EQ ' '; IF UMSGINS OF VMESSAGE (3) = " " 000193* VMESSAGE.UMSGINS(3) = VDBCOMMON.UTABLNAM; MOVE UTABLNAM OF VDBCOMMON TO UMSGINS OF VMESSAGE (3) 000194* END; END-IF 000195* 000196* /* Determine if rollback is required 000197* IF VDBCONTROL.UACCTYP EQ 'W' 000198* AND VDBCONTROL.UROWW GE 1; IF UACCTYP OF VDBCONTROL = "W" AND UROWW OF VDBCONTROL >= 1 000199* VDBCONTROL.UROLLBACK = 'Y'; MOVE "Y" TO UROLLBACK OF VDBCONTROL 000200* END; /* Rollback required. END-IF 000201* END; /* Error detected. END-IF CONTINUE. EZE-EZEP-SQL-ERROR-X. EXIT. *----------------------------------------------------------------- * PROCESS : SQL-INIT * : SQL-INIT RENAMED TO EZEP-SQL-INIT * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 10:44:07 * PROCESS OPTION : EXECUTE * DESCRIPTION : std. SQL initialization *----------------------------------------------------------------- EZEP-SQL-INIT SECTION. MOVE "SQL-INIT" TO EZERTS-PRC-NAME 000202* /* ************************************************************ 000203* /* * Proces : SQL-INIT 000204* /* * 000205* /* * Function : This process initializes the record items 000206* /* * used in applications which perform SQL 000207* /* * queries. 000208* /* * 000209* /* ************************************************************ 000210* 000211* /* Return SQL hard errors. 000212* EZEFEC = 1; MOVE 1 TO EZEFEC CALL "ELAFXNUM" USING EZEFEC(LENGTH OF EZEFEC:1) 000213* 000214* /* Initialize common data items used for control 000215* /* and error handling. 000216* VDBCONTROL.URC = 0; MOVE 0 TO URC OF VDBCONTROL CALL "ELAFXNUM" USING URC OF VDBCONTROL(LENGTH OF URC OF VDBCONTROL:1) 000217* VDBCONTROL.UROLLBACK = 'N'; MOVE "N" TO UROLLBACK OF VDBCONTROL 000218* VDBCONTROL.UNRF = 'N'; MOVE "N" TO UNRF OF VDBCONTROL 000219* 000220* VDBCONTROL.UACCTYP = ' '; MOVE " " TO UACCTYP OF VDBCONTROL 000221* VDBCONTROL.UACCSAV = ' '; MOVE " " TO UACCSAV OF VDBCONTROL 000222* VDBCONTROL.UROWR = 0; MOVE 0 TO UROWR OF VDBCONTROL 000223* VDBCONTROL.UROWW = 0; MOVE 0 TO UROWW OF VDBCONTROL 000224* VDBCONTROL.UEZESQRRM = ' '; MOVE " " TO UEZESQRRM OF VDBCONTROL 000225* 000226* SET VDBCOMMON EMPTY; PERFORM EZESETEMP-VDBCOMMON 000227* 000228* LOW-VALUE = ' '; MOVE " " TO EZEI-LOW-VALUE OF VDBCONTROL 000229* IF EZESYS IS ITF; IF EZESYS-ITF 000230* HIGH-VALUE = 'Z'; MOVE "Z" TO EZEI-HIGH-VALUE OF VDBCONTROL 000231* ELSE; ELSE 000232* HIGH-VALUE = '9'; MOVE "9" TO EZEI-HIGH-VALUE OF VDBCONTROL 000233* END; END-IF 000234* CONTINUE. EZE-EZEP-SQL-INIT-X. EXIT. *----------------------------------------------------------------- * PROCESS : YETKI_SCAN * : YETKI_SCAN RENAMED TO YETKI-SCAN * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 14:07:11 * PROCESS OPTION : SCAN * PROCESS OBJECT : YETKI *----------------------------------------------------------------- YETKI-SCAN SECTION. MOVE "YETKI_SCAN" TO EZERTS-PRC-NAME PERFORM EZESCAN-YETKI-SCAN CONTINUE. EZE-YETKI-SCAN-X. EXIT. *----------------------------------------------------------------- * PROCESS : YETKI_SIQ1 * : YETKI_SIQ1 RENAMED TO YETKI-SIQ1 * MODIFICATION DATE : 01.06.2000 * MODIFICATION TIME : 14:15:04 * PROCESS OPTION : SETINQ * PROCESS OBJECT : YETKI *----------------------------------------------------------------- YETKI-SIQ1 SECTION. MOVE "YETKI_SIQ1" TO EZERTS-PRC-NAME PERFORM EZESETI-YETKI-SIQ1 CONTINUE. EZE-YETKI-SIQ1-X. EXIT. *----------------------------------------------------------------- * SQL ERROR ROUTINE *----------------------------------------------------------------- EZESQL-ERROR-ROUTINE SECTION. SET EZERTS-SQL-USED TO TRUE IF EZERTS-SQL-COMMAND NOT = "CLOSE" MOVE SQLCA TO EZESQLCA END-IF IF SQLCODE = 0 MOVE 0 TO EZERTS-SQLERR-STATUS ELSE MOVE EZERTS-SQLERR TO EZERTS-SQLERR-SVCS-NUM CALL "ELARSVCS" USING EZERTS-CONTROL-BLOCK EZERTS-SQLERR-REQUEST-BLOCK SQLCA IF EZERTS-TERMINATE AND EZECTL-NOT-IN-EZETERMINATE GO TO EZETERMINATE END-IF END-IF. EZESQL-ERROR-ROUTINE-X. EXIT. *----------------------------------------------------------------- * SET EMPTY FOR RECORD KULLANICI *----------------------------------------------------------------- EZESETEMP-KULLANICI SECTION. MOVE LOW-VALUES TO KULLANICI OF EZESTA-KULLANICI-GP MOVE SPACES TO KULLANICI-KOD OF KULLANICI MOVE SPACES TO EZEI-1 OF KULLANICI MOVE SPACES TO SIFRE OF KULLANICI CONTINUE. EZESETEMP-KULLANICI-X. EXIT. *----------------------------------------------------------------- * SET EMPTY FOR RECORD VDBCOMMON *----------------------------------------------------------------- EZESETEMP-VDBCOMMON SECTION. INITIALIZE VDBCOMMON OF EZEWS-VDBCOMMON-GP MOVE SPACES TO USYSID1 OF VDBCOMMON MOVE SPACES TO UAPPLID OF VDBCOMMON MOVE SPACES TO UAPPLSFX OF VDBCOMMON CALL "ELAFXNUM" USING USQLNUM OF VDBCOMMON(LENGTH OF USQLNUM OF VDBCOMMON:1) MOVE SPACES TO USIGN OF VDBCOMMON MOVE SPACES TO USQLCHA OF VDBCOMMON CONTINUE. EZESETEMP-VDBCOMMON-X. EXIT. *----------------------------------------------------------------- * SET EMPTY FOR RECORD YETKI *----------------------------------------------------------------- EZESETEMP-YETKI SECTION. MOVE LOW-VALUES TO YETKI OF EZESTA-YETKI-GP MOVE SPACES TO GRUP-KOD OF YETKI MOVE SPACES TO EKRAN-ADI OF YETKI CONTINUE. EZESETEMP-YETKI-X. EXIT. *----------------------------------------------------------------- * TERMINATION LOGIC *----------------------------------------------------------------- EZETERMINATE SECTION. SET EZECTL-IN-EZETERMINATE TO TRUE. MOVE "EZETERMINATE" TO EZERTS-PRC-NAME PERFORM EZERESRC-SCHEDULE GO TO EZERUN-PROCESSES-X. *----------------------------------------------------------------- * ARITHMETIC OVERFLOW ROUTINE *----------------------------------------------------------------- EZEOVER-ROUTINE SECTION. MOVE 1 TO EZEOVERS IF EZEOVER-TERMINATE MOVE 0009 TO EZERTS-ERROR-NUM CALL "ELARSVCS" USING EZERTS-CONTROL-BLOCK EZERTS-ERROR-REQUEST-BLOCK GO TO EZETERMINATE END-IF. EZEOVER-ROUTINE-X. EXIT. *----------------------------------------------------------------- * MAXIMUM VALUE OVERFLOW ROUTINE *----------------------------------------------------------------- EZEOVER-MAX-VALUE-ROUTINE SECTION. MOVE 1 TO EZEOVERS IF EZEOVER-DEFAULT OR EZEOVER-TERMINATE MOVE 0026 TO EZERTS-ERROR-NUM CALL "ELARSVCS" USING EZERTS-CONTROL-BLOCK EZERTS-ERROR-REQUEST-BLOCK GO TO EZETERMINATE END-IF. EZEOVER-MAX-VALUE-ROUTINE-X. EXIT. *----------------------------------------------------------------- * CALLED APPLICATION CONTROL LOGIC *----------------------------------------------------------------- EZECONTROL SECTION. MOVE EIBFN TO EZEAPP-ENTRY-FUNCTION EXEC CICS IGNORE CONDITION ERROR END-EXEC CALL "ELARSTWA" USING DFHEIBLK DFHCOMMAREA EZEAPP-PROFILE SET ADDRESS OF EZERTS-CONTROL-BLOCK TO EZEAPP-RTS-PTR EXEC CICS HANDLE ABEND PROGRAM("ELAESABD") END-EXEC SET EZEPARM-MAPS-INVALID TO TRUE IF NOT EZERTS-SET MOVE "EZEINITIALIZE" TO EZERTS-PRC-NAME MOVE EZEAPP-APPL-NAME TO EZERTS-PGM-NAME SET EZEAPP-CALLER-PROFILE TO NULL CALL "ELAASADR" USING EZEAPP-PROFILE EZERTS-INIT-PROFILE ELSE MOVE "EZEINITIALIZE" TO EZERTS-PRC-NAME MOVE EZERTS-PGM-NAME TO EZECALLER MOVE EZEAPP-APPL-NAME TO EZERTS-PGM-NAME SET EZEAPP-CALLER-PROFILE TO EZERTS-CURR-PROFILE MOVE EZEDLPSB TO EZECTL-HOLD-EZEDLPSB IF EZERTS-TERMINATE CALL "ELAASADR" USING EZEAPP-PROFILE EZERTS-CURR-PROFILE SET EZECTL-IN-EZETERMINATE TO TRUE PERFORM EZEAPPL-IDENTIFY PERFORM EZEEXTERNAL-INITIALIZATION PERFORM EZERESRC-CLEANUP SET EZERTS-CURR-PROFILE TO EZEAPP-CALLER-PROFILE MOVE EZECALLER TO EZERTS-PGM-NAME GO TO EZECONTROL-X END-IF END-IF MOVE EZERTS-CTL-MODE TO EZECTL-HOLD-CTL-MODE MOVE EZERTS-CTL-REQUEST TO EZECTL-HOLD-CTL-REQUEST MOVE EZESEGTR TO EZESEGTR-SAVE MOVE SPACES TO EZESEGTR PERFORM EZEAPPL-IDENTIFY PERFORM EZEINITIALIZE-STORAGE PERFORM EZEREFRESH-STORAGE IF NOT EZERTS-TERMINATE-ON-ERROR AND EZEAPP-ENTRY-FUNCTION NOT = X"0E04" AND NOT EZERTS-ENTRY-FROM-TSMODULE PERFORM EZERECEIVE-COMMAREA-PARMS END-IF IF NOT EZERTS-TERMINATE-ON-ERROR PERFORM EZEEXTERNAL-INITIALIZATION END-IF IF NOT EZERTS-TERMINATE-ON-ERROR PERFORM EZERUN-PROCESSES END-IF IF EZEAPP-CALLER-PROFILE = NULL OR EZEAPP-ENTRY-FUNCTION = X"0E04" OR EZERTS-ENTRY-FROM-TSMODULE SET EZEAPP-CALLER-PROFILE TO NULL IF EZERTS-TERMINATE-ON-ERROR PERFORM EZEREPORT-ERRS-ON-TERMINATN END-IF PERFORM EZECICS-RTS-TERMINATE ELSE SET EZERTS-CURR-PROFILE TO EZEAPP-CALLER-PROFILE MOVE EZECALLER TO EZERTS-PGM-NAME MOVE EZESEGTR-SAVE TO EZESEGTR IF NOT EZERTS-TERMINATE MOVE EZECTL-HOLD-CTL-MODE TO EZERTS-CTL-MODE MOVE EZECTL-HOLD-CTL-REQUEST TO EZERTS-CTL-REQUEST END-IF MOVE EZECTL-HOLD-EZEDLPSB TO EZEDLPSB END-IF. EZECONTROL-X. EXIT. *----------------------------------------------------------------- * IDENTIFY APPLICATION *----------------------------------------------------------------- EZEAPPL-IDENTIFY SECTION. IF NOT EZERTS-SET MOVE SPACES TO EZELTERM MOVE ALL "*" TO EZEUSR EZEUSRID END-IF SET EZEAPP-CURS-BLK-PTR TO NULL SET EZEAPP-LAST-MAPBUF-PTR TO NULL SET EZEAPP-FIRST-MAPBUF-PTR TO NULL SET EZEAPP-ROWS-USED-PTR TO NULL SET EZEAPP-MAPG-MOD-PTR TO NULL SET EZEAPP-HELPG-MOD-PTR TO NULL CALL "ELAASADR" USING EZEWORDS EZEAPP-EZE-WORDS-PTR CALL "ELAASADR" USING EZEPARM-VALIDATION EZEAPP-PARM-VAL-PTR CALL "ELAASADR" USING EZEAPP-PROFILE EZERTS-CURR-PROFILE. EZEAPPL-IDENTIFY-X. EXIT. *----------------------------------------------------------------- * INITIALIZE STORAGE *----------------------------------------------------------------- EZEINITIALIZE-STORAGE SECTION. MOVE SPACES TO EZEWORDS-I MOVE ZERO TO EZECNVCM MOVE ZERO TO EZEFEC EZERCODE MOVE ZERO TO EZEDLERR EZESQISL EZEOVER EZEOVERS MOVE SPACES TO EZEDLPSB IF EZESEGTR = LOW-VALUES MOVE EIBTRNID TO EZESEGTR END-IF MOVE EIBTRMID TO EZELTERM EZEUSR SET EZESEGM-DEFINED TO TRUE MOVE SPACES TO EZEDESTP MOVE "N" TO EZEAPP-EZEDESTP-DIFF MOVE "N" TO EZEAPP-EZEDESTP-CHANGED MOVE 0 TO EZESTA-KULLANICI-RC PERFORM EZESETEMP-KULLANICI PERFORM EZESETEMP-VDBCOMMON MOVE 0 TO EZESTA-YETKI-RC PERFORM EZESETEMP-YETKI CONTINUE. EZEINITIALIZE-STORAGE-X. EXIT. *----------------------------------------------------------------- * REFRESH STORAGE - ONLY THESE FIELDS ARE RESET ACROSS CONVERSE *----------------------------------------------------------------- EZEREFRESH-STORAGE SECTION. MOVE ZERO TO EZEDLCER EZEDLCON MOVE ZERO TO EZETST EZEDLLEV EZEDLSSG MOVE ZERO TO EZEMNO EZEDLKYL MOVE SPACES TO EZEDLSTC EZEDLDBD EZEDLKEY EZEDLPRO EZEDLSEG MOVE SPACES TO EZEMSG OF EZEWORDS MOVE "N" TO EZEMNO-MSG-FILE-SW MOVE LOW-VALUES TO EZESQLCA MOVE "SQLCA" TO EZESQNAM MOVE +136 TO EZESQABC MOVE ZERO TO EZESQCOD EZESQRRL MOVE ZERO TO EZESQRD1 EZESQRD2 EZESQRD3 MOVE ZERO TO EZESQRD4 EZESQRD5 EZESQRD6 IF NOT EZERTS-SET OR NOT EZERTS-TERMINATE MOVE SPACES TO EZERTS-DXFR-APPLID SET EZERTS-XFER-MAP-PTR TO NULL SET EZERTS-DXFR-XFER-REC-PTR TO NULL MOVE ZERO TO EZERTS-DXFR-XFER-REC-LEN END-IF. EZEREFRESH-STORAGE-X. EXIT. *----------------------------------------------------------------- * RTS INITIALIZATION *----------------------------------------------------------------- EZEEXTERNAL-INITIALIZATION SECTION. CALL "ELARSINT" USING EZERTS-CONTROL-BLOCK IF EZERTS-TERMINATE-ON-ERROR AND EZECTL-NOT-IN-EZETERMINATE GO TO EZEEXTERNAL-INITIALIZATION-X END-IF SET ADDRESS OF EZEIOP-NLS-INDEP-CTL-BLOCK TO EZERTS-IOP-TABLE-PTR SET ADDRESS OF EZEIOE-NLS-DEP-CTL-BLOCK TO EZERTS-DOP-TABLE-PTR SET ADDRESS OF EZECRS-CURSOR-BLOCKS TO EZEAPP-CURS-BLK-PTR IF NOT EZERTS-TERMINATE SET EZERTS-EXECUTE TO TRUE END-IF. EZEEXTERNAL-INITIALIZATION-X. EXIT. *----------------------------------------------------------------- * RUN APPLICATION PROCESSES *----------------------------------------------------------------- EZERUN-PROCESSES SECTION. SET EZECTL-NOT-IN-EZETERMINATE TO TRUE GO TO EZEBEGIN-PROCESSES. EZERUN-PROCESSES-X. EXIT. *----------------------------------------------------------------- * REPORT THE ERRORS *----------------------------------------------------------------- EZEREPORT-ERRS-ON-TERMINATN SECTION. IF NOT EZERTS-ROLLBACK-TAKEN SET EZERTS-ROLLBACK-TAKEN TO TRUE MOVE EZERTS-ROLLBACK TO EZERTS-SVCS-NUM CALL "ELARSVCS" USING EZERTS-CONTROL-BLOCK EZERTS-REQUEST-BLOCK END-IF IF EZERTS-TERMINAL-ATTACHED MOVE EZERTS-DISPLAY-ERROR-MAP TO EZERTS-SVCS-NUM CALL "ELARSVCS" USING EZERTS-CONTROL-BLOCK EZERTS-REQUEST-BLOCK END-IF CONTINUE. EZEREPORT-ERRS-ON-TERMINATN-X. EXIT. *----------------------------------------------------------------- * RECEIVE PARAMETERS THAT WERE PASSED IN THE COMMAREA *----------------------------------------------------------------- EZERECEIVE-COMMAREA-PARMS SECTION. IF EIBCALEN < 4 OR (DFHCOMMAREA(EIBCALEN - 3:4) = HIGH-VALUES AND EIBCALEN NOT = 20) OR (DFHCOMMAREA(EIBCALEN - 3:4) NOT = HIGH-VALUES AND EIBCALEN NOT = 16) IF NOT EZERTS-SET CALL "ELARSINT" USING EZERTS-CONTROL-BLOCK END-IF IF NOT EZERTS-TERMINATE MOVE 32 TO EZERTS-ERROR-NUM CALL "ELARSVCS" USING EZERTS-CONTROL-BLOCK EZERTS-ERROR-REQUEST-BLOCK END-IF GO TO EZERECEIVE-COMMAREA-PARMS-X END-IF SET ADDRESS OF EZERCD-WKULLANICI-GP TO EZECOMMAREA-PTR(1) SET ADDRESS OF EZERCD-WYETKIARR-GP TO EZECOMMAREA-PTR(2) SET ADDRESS OF EZERCD-VDBCONTROL-GP TO EZECOMMAREA-PTR(3) SET ADDRESS OF EZERCD-VMESSAGE-GP TO EZECOMMAREA-PTR(4) CONTINUE. EZERECEIVE-COMMAREA-PARMS-X. EXIT. *----------------------------------------------------------------- * CANCEL CLEAN-UP IF ALL RESOURCES ARE CLOSED *----------------------------------------------------------------- EZERESRC-SCHEDULE SECTION. MOVE "EZERESRC-SCHED" TO EZERTS-PRC-NAME IF EZEAPP-CALLER-PROFILE IS EQUAL TO NULL PERFORM EZERESRC-CLEANUP GO TO EZERESRC-SCHEDULE-X END-IF IF EZECRS-KULLANICI-CLOS AND EZECRS-YETKI-CLOS MOVE EZERTS-UNSCHEDULE TO EZERTS-SVCS-NUM CALL "ELARSVCS" USING EZERTS-CONTROL-BLOCK EZERTS-REQUEST-BLOCK END-IF CONTINUE. EZERESRC-SCHEDULE-X. EXIT. *----------------------------------------------------------------- * RESOURCE CLEAN-UP ROUTINE *----------------------------------------------------------------- EZERESRC-CLEANUP SECTION. SET EZECTL-IN-EZETERMINATE TO TRUE MOVE "EZERESRC-CLEAN" TO EZERTS-PRC-NAME PERFORM EZERESRC-CLOSE-CURSORS CONTINUE. EZERESRC-CLEANUP-X. EXIT. *----------------------------------------------------------------- * RESOURCE CLEAN-UP / CLOSE ALL OPEN CURSORS *----------------------------------------------------------------- EZERESRC-CLOSE-CURSORS SECTION. IF NOT EZECRS-KULLANICI-CLOS PERFORM EZECLOSCU-KULLANICI END-IF IF NOT EZECRS-YETKI-CLOS PERFORM EZECLOSCU-YETKI END-IF CONTINUE. EZERESRC-CLOSE-CURSORS-X. EXIT. EZECICS-RTS-TERMINATE SECTION. CALL "ELAASTRM" USING EZERTS-CONTROL-BLOCK EZERTS-REQUEST-BLOCK EXEC CICS HANDLE ABEND CANCEL END-EXEC. EZECICS-RTS-TERMINATE-X. EXIT. *----------------------------------------------------------------- * END OF PROGRAM MENUS1 *-----------------------------------------------------------------